#include "lvgl_mainwindow.h"

#include <stdint.h>
#include <stdio.h>
#include "cbb_mem.h"
#include "cbb_init.h"

// MainWindow类型
static MainWindow_t* pst_lv_mainwindow = NULL;

void mainwindow_init(void){

    // 创建Mainwindow
    pst_lv_mainwindow = S_MALLOC(sizeof(MainWindow_t));
    if(NULL == pst_lv_mainwindow) return;

    // 初始化标签
    uint32_t u32Dis = 0;
    pst_lv_mainwindow->pstDisLabel = lv_label_create(lv_scr_act());    
    lv_obj_set_pos(pst_lv_mainwindow->pstDisLabel, 20, 100);
    lv_obj_set_style_text_font(pst_lv_mainwindow->pstDisLabel, &lv_font_montserrat_20, LV_STATE_DEFAULT);
    lvgl_show_dis(&u32Dis);

}
INIT_PORT_OTHERS(mainwindow_init);

void lvgl_show_dis(void *pvArgs){

    // 获取距离
    uint32_t u32Dis = *(uint32_t*)pvArgs;

    // 更新显示
    static char buffer[32];
    snprintf(buffer, sizeof(buffer), "Dis: %d mm", u32Dis);
    lv_label_set_text(pst_lv_mainwindow->pstDisLabel, buffer);
}
